import {fileURLToPath, URL} from 'node:url'

import {defineConfig, loadEnv} from 'vite'
import vue from '@vitejs/plugin-vue'
import vueJsx from '@vitejs/plugin-vue-jsx'
// @ts-ignore
import postcssviewport from "postcss-px-to-viewport"
import Components from 'unplugin-vue-components/vite';
import {VantResolver} from 'unplugin-vue-components/resolvers'

// https://vitejs.dev/config/
export default ({mode}:any)=>{
    // 获取环境变量
    const env = loadEnv(mode,process.cwd());
    return defineConfig({
        // 获取环境变量
        plugins: [vue(),
            // jsx
            vueJsx(),
            // 按需加载
            Components({
                resolvers: [VantResolver()],
            }),],
        resolve: {
            alias: {
                '@': fileURLToPath(new URL('./src', import.meta.url))
            }
        },
        // 单位转换
        css: {
            postcss: {
                plugins: [
                    postcssviewport({
                        // 转换单位
                        unitToConvert: "px",
                        // 尺寸稿
                        viewportWidth: 375,
                        //保留几位
                        unitPrecision: 5,
                        // 排除目录
                        exclude: /node_modules/,
                    })
                ]
            }
        },
        //配置代理
        server:{
            proxy:{
                '/api':{
                    // 地址
                    target:env.VITE_BASE_URL,
                    // 是否跨域
                    changeOrigin:true,
                    // 是否为https
                    secure:false
                }
            }
        }
    })
}
